package zhongbo.java.air.service;

import org.springframework.data.domain.Page;
import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.model.AirFlightPath;

import java.util.Date;

/**
 * 飞行轨迹记录表(AirFlightPath)表服务接口
 *
 * @author makejava
 * @since 2025-04-02 09:30:55
 */
public interface AirFlightPathService<A> {

    /**
     * 通过ID查询单条数据
     *
     * @param entityId 主键
     * @return 实例对象
     */
//    AirFlightPath queryById(String id) throws Exception;
    AirFlightPath findOne(String entityId) throws Exception;


    PageVo<AirFlightPath> findPage(int page, int pageSize, String keyword, String fields, String oderByField, boolean orderByAsc);

//    /**
//     * 根据 icao_code 和 timestamp 查询指定飞机的航迹信息分页列表
//     *
//     * @param icaoCode icao_code
//     * @param startTime 开始时间
//     * @param endTime 结束时间
//     * @param PageNum 页面
//     * @param PageSize 大小
//     * @return 查询结果
//     */
//    Page<AirFlightPath> queryByIcaoAndTimestamp(String icaoCode, Date startTime, Date endTime, Integer PageNum, Integer PageSize);

    /**
     * 新增数据
     *
     * @param entity 实例对象
     * @return 实例对象
     */

//    AirFlightPath insert(AirFlightPath airFlightPath) throws Exception;
    AirFlightPath add(AirFlightPath entity)throws Exception;
    /**
     * 修改数据
     *
     * @param edit 实例对象
     * @return 实例对象
     */
//    AirFlightPath update(AirFlightPath airFlightPath) throws Exception;
    AirFlightPath edit(AirFlightPath edit)throws Exception;

    /**
     * 通过主键删除数据
     *
     * @param entityId 主键
     * @return 是否成功
     */
//    boolean deleteById(String id) throws Exception;
    boolean delete(String entityId)throws Exception;
}
